//
// Created by 28365 on 2025/3/5.
//

#ifndef ODUPDATERSDK_BASISLOGGER_H
#define ODUPDATERSDK_BASISLOGGER_H

#include <string>
#include <iomanip>
#include <iostream>

using namespace std;

class BasisLogger {

private:
    bool enabled = false;
    bool _debug = false;

public:
    [[nodiscard]] bool isEnabled() const;

    void setEnabled(bool enabled);

    [[nodiscard]] bool isDebug() const;

    void setDebug(bool debug);

    void info(const string &message) const;

    void warn(const string &message) const;

    void warn(const string &message,const exception &exception) const;

    void error(const string &message) const;

    void error(const string &message,const exception &exception) const;

    void debug(const string &message) const;

    virtual void sout(const string &message) const;
};


#endif //ODUPDATERSDK_BASISLOGGER_H
